import request from '@/config/axios'

// ERP基础资料 - 原料计算纸板设置 VO
export interface BaseOrderPaperSettingVO {
  id: string // Id
  cardboardLengthMin: number // 纸板纸长最小值
  cardboardLengthMax: number // 纸板纸长最大值
  cardboardWidthUnit: string // 纸板纸宽单位
  cardboardLengthUnit: string // 纸板纸长单位
  useMaterialLengthLimit: number // 纸板用料纸长小数限定
  paperDegreeCuttableValue: number // 纸板纸度可下调值
  paperDegreeIsCuttable: boolean // 纸板纸度是否可下调
  paperLengthCuttableValue: number // 纸板纸长可下调值
  paperLengthIsCuttable: boolean // 纸板纸长是否可下调
  selectedWidthMaxLoss: number // 纸板选幅宽以最大损耗值
  paperDegreeUnlimitedLoss: number // 纸板纸度大度不限损耗值

  facePaperLengthMin: number // 面纸纸长最小值
  facePaperLengthMax: number // 面纸纸长最大值
  facePaperWidthUnit: string // 面纸纸宽单位
  facePaperLengthUnit: string // 面纸纸长单位
  useMaterialFaceLengthLimit: number // 面纸用料纸长小数限定
  facePaperDegreeCuttableValue: number // 面纸纸度下调值
  facePaperDegreeIsCuttable: boolean // 面纸纸度是否可下调
  facePaperLengthCuttableValue: number // 面纸纸长下调值
  facePaperLengthIsCuttable: boolean // 面纸纸长是否可下调
  selectedFaceWidthMaxLoss: number // 面纸选幅宽最损耗值
  facePaperCalculationRule: string // 面纸算料规则

  pitPaperLengthMin: number // 坑纸纸长最小值
  pitPaperLengthMax: number // 坑纸纸长最大值
  pitPaperWidthUnit: string // 坑纸纸宽单位
  pitPaperLengthUnit: string // 坑纸纸长单位
  useMaterialPitLengthLimit: number // 坑纸用料纸长小数限定
  pitPaperDegreeCuttableValue: number // 坑纸纸度可下调值
  pitPaperDegreeIsCuttable: boolean // 坑纸纸度是否可下调
  pitPaperLengthCuttableValue: number // 坑纸纸长可下调值
  pitPaperLengthIsCuttable: boolean // 坑纸纸长是否可下调
  selectedPitWidthMaxLoss: number // 坑纸选幅宽最大损耗值
  pitPaperCalculationRule: string // 坑纸算料规则

  selectedWidthBasis: string // 选幅宽以
  calculationUnitBasis: string // 核算单单价以
  cardboardMaterialDefaultSource: string // 纸板用料默认来源
  whiteboardMaterialDefaultSource: string // 白板用料默认来源
  pitPaperMaterialDefaultSource: string // 坑纸用料默认来源
  dieCuttingSizeUnit: string // 刀模尺寸单位
  horizontalVerticalPressureNumDisplay: string // 横纵压小数位表示
  pressLineUnit: string // 压线单位
  stapleUnit: string // 钉条单位
  addScoreUnit: string // 加分单位
  materialPurchasePaperDegreeAdjustmentTip: boolean // 用料采购纸度下调提示
  customTwoPiece: boolean // 自定义两片接

  creator: string // 创建人
  createTime: string // 创建时间
  updater: string // 更新人
  updateTime: string // 更新时间
  tenantId: string // 租户id
  deleted: boolean // 是否删除
}

// ERP基础资料 - 原料计算纸板设置 API
export const BaseOrderPaperSettingApi = {
  // 获取详情
  getBaseOrderPaperSetting: async (): Promise<BaseOrderPaperSettingVO> => {
    return await request.get({ url: '/erp/base-order-paper-setting/get' })
  },

  // 更新
  updateBaseOrderPaperSetting: async (data: BaseOrderPaperSettingVO): Promise<void> => {
    return await request.put({ url: '/erp/base-order-paper-setting/update', data })
  }
}